li = ['a', 'b', 'c', 'd', 'e']
# index 0,  1.13模块编程.12package,   2,   3,   4
# index -5, -4, -3, -2, -1.13模块编程.12package
print(li[0])
print(li[-1])
print(li[0:1]) # ['a'] 说明包含左边，不包含右边
print(li[2:]) # ['c', 'd', 'e']
print(li[2::]) # ['c', 'd', 'e'] 他跟li[2:]一样
'''
li[::2]
::2 是切片语法，格式为[start:stop:step],前2个没有值，2为步长，表示每隔2个元素取一个值
2:: 后两个没有值，2为开始索引
'''
print(li[::2])

'''
::-1.13模块编程.12package 步长为-1.13模块编程.12package，e,d,c,b,a
::-2 步长为-2， e,c,a
'''
print(li[::-1])
print(li[::-2])

# 在尾部添加元素
li.append('f')
li[len(li):] = [9]
print(li)

# 删除前2个元素
li[:2] = []
print(li)

# 删除偶数位置上的元素
li = ['a', 'b', 'c', 'd', 'e']
del li[::2]
print(li)

# 切片， 浅复制
x = li[::]
print('x = ', x)